#ifndef BARREL_HH_
# define BARREL_HH_

class Barrel : GunPart
{
public:
  Barrel();
  ~Barrel();

  float getMuzzleVelocity();


private:
  // TODO use flags
  bool _pierced; // shd add ? (--waterproof, ++accuracy, cool down sys)
  bool _streaks; // does the bullet rotates over itself in the cannon (cd be a float: rotation speed)
  float _muzzleVelocity; // used to calc bullet impact strength
  float _length; // used to calc accuracy
  float _heat; /// used to calc accuracy && smoke density over barrel
  bool _silencer;
  bool _flashSuppressor;
  float _db; /// decibel produced per shot
  unsigned char _bulletType // caliber
};

#endif /* !BARREL_HH_ */
